kaf24@firebug.cl.cam.ac.uk [Thu, 18 May 2006 08:38:37 +0000 (09:38 +0100)]
[NET] front: Remove tx_full and unnecessary queue operations
The tx_full variable merely mirrors information already present in
the XOFF bit on the net device. The net device architecture itself
is quite mature and can be trusted by Xen to maintain its state
correctly.
Also, it's pointless to stop the queue in close_netdev since it can
be waken up anyway since there could be a softirq running on another
CPU. All of this is handled by unregister_netdev anyway.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
kaf24@firebug.cl.cam.ac.uk [Thu, 18 May 2006 07:55:20 +0000 (08:55 +0100)]
Fix the build after SVM patches.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 23:03:13 +0000 (00:03 +0100)]
SVM patch to add a host save area per core for the hypervisor and also
for the microcode. The microcode area is not guaranteed to be
compatible with the vmcb layout, therefore will require it's own
"scratch pad". Consolidate the per core areas into a single structure.
Signed-off-by: Tom Woller <thomas.woller@amd.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 23:01:59 +0000 (00:01 +0100)]
Fix register corruption caused by c/s 9922.
From: Tom Woller <thomas.woller@amd.com>
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:53:01 +0000 (23:53 +0100)]
SVM patch to cleanup guest event injection logic, remove unnecessary
event_injecting variable.
Signed-off-by: Tom Woller <thomas.woller@amd.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:51:39 +0000 (23:51 +0100)]
SVM patch to reverse the logic of the general1 intercepts for easier
reading, also add the INVD intercept with print/eip increment only.
Signed-off-by: Tom Woller <thomas.woller@amd.com>
Signed-off-by: Mats Petersson <mats.petersson@amd.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:50:23 +0000 (23:50 +0100)]
SVM patch to cleanup IOIO handling, do not use "real" mode but rather
the correct "bitness".
Signed-off-by: Tom Woller <thomas.woller@amd.com>
Signed-off-by: Mats Petersson <mats.petersson@amd.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:47:19 +0000 (23:47 +0100)]
Add hotkey 'v' to hypervisor monitor to print VMCS areas.
When crashing domain due failed vmenter print processor's VMCS.
Signed-off-by: Boris Ostrovsky <bostrovsky@virtualiron.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:43:32 +0000 (23:43 +0100)]
Allow to specify different time-of-day clock offsets for HVM guests.
There are some usage scenarios in which differing user domains want
to be using different base TOD clocks. This patch adds the ability
to specify the base TOD time difference. The patch also adds a
hook point to notify another entity when the domain changes this
offset. This might occur, for instance, on a Linux domain using
hwclock -w.
Signed-off-by: Ben Thomas <ben@virtualiron.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:41:59 +0000 (23:41 +0100)]
Theoretically a 0 VIRT_BASE is okay. Change the bail code when
parsing elf headers to bail only when VIRT_BASE is not specified
at all.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:28:22 +0000 (23:28 +0100)]
When doing local migration, a timing-related problem occurred due to the
frontend switching to the Closed state, which could end up having
the .remove function being called after the backend has shut down. This
now fixes the problem by switching to the Closing state.
The other part of the patch cleans up freeing of memory.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:23:26 +0000 (23:23 +0100)]
VTPM_TOOLS: Restructured handlers for better clearity and created an ipc
abstraction needed for expansion to hot plug and migration support. Also
fixed a bug in savestate.
Signed-off-by: Vinnie Scarlata <Vincent.r.scarlata@intel.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:19:18 +0000 (23:19 +0100)]
This patch fixes the Linux builder so that it dies gracefully when
trying to load malformed ELF images.
Signed-off-by: Aravindh Puthiyaparambil <aravindh.puthiyaparambil@unisys.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 17 May 2006 22:15:36 +0000 (23:15 +0100)]
This patch fixes the x86_64 __xen_guest section allowing Mini-OS to run again.
Signed-off-by: Aravindh Puthiyaparambil <aravindh.puthiyaparambil@unisys.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 18:54:41 +0000 (19:54 +0100)]
Add some locking to the PIC device model. Improves SMP guest stability.
Signed-off-by: David Lively <dlively@virtualiron.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 18:50:23 +0000 (19:50 +0100)]
Fix MOVS instruction emulation for HVM MMIO.
From: Gerd Hoffman
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 15:34:27 +0000 (16:34 +0100)]
[MINIOS] Fix the pagefault handler to detect recursive faults.
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 13:07:56 +0000 (14:07 +0100)]
Fixes to the xenoprofile Linux driver.
The active_domains code has race conditions:
* oprofile_set_active() calls set_active() method without holding
start_sem. This is clearly wrong, as xenoprof_set_active() makes
several hypercalls. oprofile_start(), for instance, could run in
the middle of xenoprof_set_active().
* adomain_write(), adomain_read() and xenoprof_set_active() access
global active_domains[] and adomains without synchronization. I
went for a simple, obvious fix and created another mutex. Instead,
one could move the shared data into oprof.c and protect it with
start_sem, but that's more invasive.
Also clean up the code dealing with /dev/oprofile/active_domains:
* Use parameters instead of global variables to pass domain ids
around. Give those globals internal linkage.
* Allocate buffers dynamically to conserve stack space.
* Treat writes with size zero exactly like a write containing no
domain id. Before, zero-sized write was ignored, which is not the
same.
* Parse domain ids as unsigned numbers. Before, the first one was
parsed as signed number.
Because ispunct()-punctuation is ignored between domain ids, signs
are still silently ignored except for the first number. Hmm.
* Make parser accept whitespace as domain separator, because that's
what you get when reading the file.
* EINVAL on domain ids overflowing domid_t. Before, they were
silently truncated.
* EINVAL on too many domain ids. Before, the excess ones were
silently ignored.
* Reset active domains on failure halfway through setting them.
* Fix potential buffer overflow in adomain_read(). Couldn't really
happen because buffer was sufficient for current value of
MAX_OPROF_DOMAINS.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 12:46:57 +0000 (13:46 +0100)]
Our 10,000th changeset! (Clean up trailing whitespace in README file :-)
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 12:35:59 +0000 (13:35 +0100)]
Fix the tools build:
1. xenctrl.h needs to include stddef.h to define size_t
2. tbctl is broken -- remove it since xenmon and xentrace
both automatcially enable tracing now
3. Fix setsize after xc_tbug interface changes
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 08:40:38 +0000 (09:40 +0100)]
Prevent an oops in Dom0 that occurs when a CD device, specified as one
of the 'hardrives' in the 'disk=' line of a para-virtualized guest's
def file, has no media when the guest is started.
The oops occurs in vbd.c when vbd_size() is called from connect() (in
xenbus.c) and the vbd pointer is really an error code that comes from
the failed open that occurred in vbd_create().
Based on a patch from Ross Maxfield at Novell.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 08:21:33 +0000 (09:21 +0100)]
Extend xentrace man page.
From: Kaleb Pederson
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 08:18:25 +0000 (09:18 +0100)]
Use common code for enabling tracing via xenmon and xentrace, also fixing
the last two remaining xc_private.h users outside of libxc.
Signed-off-by: John Levon <john.levon@sun.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 08:15:19 +0000 (09:15 +0100)]
Document the UUID domU configuration parameter in example configurations.
Signed-off-by: Andrew D. Ball <aball@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Tue, 16 May 2006 08:08:06 +0000 (09:08 +0100)]
[XENOPROFILE] Fix incorrect use of on_each_cpu() which could lead
to sleep with interrupts disabled. on_each_cpu() disables interrupts.
proc_create() calls passes GFP_KERNEL to kmalloc().
The patch converts from on_each_cpu() to for_each_cpu(), and then
simplifies things.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 15 May 2006 15:32:09 +0000 (16:32 +0100)]
Allow linking of mini-os with application-specific object code.
From: Jacob Gorm Hansen
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 15 May 2006 06:51:07 +0000 (07:51 +0100)]
Fix spelling errors in man pages.
Signed-off-by: Charles Coffing <ccoffing@novell.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 15 May 2006 06:46:57 +0000 (07:46 +0100)]
Fix the performance issues of 2-level paging HVM guests on the PAE
Xen. With this, the performance will be basically same as 2-on-2.
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 15 May 2006 06:44:12 +0000 (07:44 +0100)]
Remove unnecessary extra linker parameters from qemu-dm build.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 15 May 2006 06:38:32 +0000 (07:38 +0100)]
Add rudimentary ACPI support which allows a fully virtualized domain
to perform a poweroff via the S5 state. This involves adding S5
information to the ASL file; adding ACPI I/O address processing to
qemu and modifying the FADT to point to these specific I/O addresses.
Note that this is a rudimentary implementation, which is expected
to allow growth over time. Currently, only allow/detect writes
to one of the PM registers, even though the S5 package specifies
data for both. Currently, this is sufficient for the kernels
tested. (Specifically, use of _PST, and _GST and other methods
are unnecessary and not implemented.)
Signed-off-by: Ben Thomas <ben@virtualiron.com>
kaf24@firebug.cl.cam.ac.uk [Sun, 14 May 2006 19:13:14 +0000 (20:13 +0100)]
Fix 64-bit build. xc_ptrace() is still broken for x86/64 however.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 12 May 2006 14:47:25 +0000 (15:47 +0100)]
Fix an out-of-bounds memory access in xc_ptrace.c.
Currently, Xen always copies the entire 512 byte extended
FPU state (fxsave) even if only the "regular" FPU state was
requested.
This breaks since the memory buffer allocated in
linux-xen-low.c:regsets_fetch_inferior_registers() is only large
enough to hold the "plain" FPU registers.
Signed-Off-By: Simon Kagstrom <simon.kagstrom@bth.se>
kaf24@firebug.cl.cam.ac.uk [Fri, 12 May 2006 14:26:39 +0000 (15:26 +0100)]
Re-enables ptrace for paravirtualized guests.
Changes:
- Added to_ma function which translates a physical address to a
machine address for HVM guests and just returns the address for PV
guests.
- Use to_ma() in map_domain_va_32, map_domain_va_pae and
map_domain_va_64 to abstract away differences between HVM and PV
guests.
- (From Keir, Ryan) Export CR0 to PV guests as well.
I've removed the address checks against 0 since the last version since
physical/machine address 0 should be valid. Invalid translations
should be catched in xc_map_foreign_domain.
Signed-Off-By: Simon Kagstrom <simon.kagstrom@bth.se>
kaf24@firebug.cl.cam.ac.uk [Fri, 12 May 2006 14:21:12 +0000 (15:21 +0100)]
Update the readme for tools/examples/scripts.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 12 May 2006 14:19:37 +0000 (15:19 +0100)]
Fix xentrace to initialise the trace buffers if they are not set up.
Signed-off-by: Atsushi SAKAI <sakaia@jp.fujitsu.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 12 May 2006 14:17:21 +0000 (15:17 +0100)]
Fix the cirrus vga model to not leak memory when switching between
initial vga mode and linear framebuffer.
When creating device model, the vga memory is allocated through
xc_domain_memory_increase_reservation(), however, when switch to use
linear framebuffer, we didn't free that memory, and re-allocate the vga
memory through set_mm_mapping(), that caused memory leak. Now it is
changed to just using qemu_malloc when create device model, and free
that memory when switch to linear framebuffer.
After unset_vram_mapping(), the old memory pointer should be
unmapped; after set_vram_mapping(), the old memory should be freed.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 12 May 2006 14:15:59 +0000 (15:15 +0100)]
Move set/unset_vram_mapping into cirrus_vga.c, pending a fixup patch.
Signed-off-by: Yunhong Jiang <yunhong.jiang@intel.com>
cl349@firebug.cl.cam.ac.uk [Thu, 11 May 2006 21:39:44 +0000 (22:39 +0100)]
Fix network bridge script to select the right interface when bridge already exists.
If the bridge is already configure, the default route will point
to a xenbr interface and not an eth interface. Handle this case.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
cl349@firebug.cl.cam.ac.uk [Thu, 11 May 2006 16:30:50 +0000 (17:30 +0100)]
Add support to domain builders for loading kernels with physical addresses in the elf paddr and entry fields.
Add a new __xen_guest header field to distinguish between kernels with
the previous use of the paddr field and the new use.
Add a new __xen_guest header field to control the kernel entry point,
since the elf header entry field now points to a physical address.
This header field is also useful for supporting alternative entry
points in kernel images which run both on xen and native.
Also add a kernel config option to control whether the resulting kernel
should include compatibility code to run on Xen 3.0.2 or whether such
code such be left out, resulting in a kernel which will only run on
newer Xen versions. Default to having compatibility enabled.
Kernels built with the new use of the elf header fields would otherwise
not work on Xen versions prior to this changeset.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
vhanquez@kneesa.uk.xensource.com [Thu, 11 May 2006 14:51:56 +0000 (15:51 +0100)]
dom0 and anonymous connections can create unlimited sized entries in the store.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
vhanquez@kneesa.uk.xensource.com [Thu, 11 May 2006 14:01:54 +0000 (15:01 +0100)]
Try to create runtime xenstored's directories at startup time.
Signed-off-by: Vincent Hanquez <vincent@xensource.com>
Ryan Harper [Thu, 11 May 2006 12:49:20 +0000 (13:49 +0100)]
Fix up enforce_dom0_cpu test case to check that dom0 has at least 2 vcpus
online. Also fix bogus call to vcpu-enable; xm now uses vcpu-set as method for
enable/disable of vcpus. Previously after a successful test run, this test
would not leave dom0 in the same state as it was when the test started. Also
some comment language changes and 80 column formatting.
kaf24@firebug.cl.cam.ac.uk [Thu, 11 May 2006 12:45:10 +0000 (13:45 +0100)]
x86/64 has the wrong number of arguments defined for HYPERVISOR_xenoprof_op.
Signed-off-by: Ray Bryant <raybry@mpdtxmail.amd.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 11 May 2006 12:43:09 +0000 (13:43 +0100)]
I am adding one more test case for vTPM migration. The new one does
local network migration without the 'live' parameter 3 times. The test
'04' that does live migration now tests local live migration 3 times.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 11 May 2006 12:42:20 +0000 (13:42 +0100)]
Fix the building of the Xen TPM driver as module and prevents front-
and backends to be rmmod'ed by removing their module_exit line.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 11 May 2006 10:33:07 +0000 (11:33 +0100)]
Fix a typo in xc_ptrace() and fix single-stepping when attached
to a live guest.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 16:30:42 +0000 (17:30 +0100)]
When we copy packet sin netback/netfront make sure the new skb has
all the necessary fields initialised. In particular, before we were
not copying ip_summed and that screws up checksum offload.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 15:52:55 +0000 (16:52 +0100)]
This patch adds a boolean parameter 'network' to the save method of the
XendCheckpoint class to differentiate between network suspend/resume
(network=True) and local suspend/resume (network=False).
Instead of passing the 'live' parameter to the migration methods, this
'network' parameter is passed now. This ends up being merely a renaming
of the parameter.
A check with the xm-test suite against this change has resulted in no
additional errors.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 15:47:00 +0000 (16:47 +0100)]
Simply do not declare module_exit() handlers for netback/blkback, rather
than declaring the modules unsafe.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 15:23:22 +0000 (16:23 +0100)]
proto_csum_blank field gets lost if packet is copied in netback driver.
Signed-off-by: James Dykman <dykman@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 15:07:46 +0000 (16:07 +0100)]
The PciController class lacks a configuration method to re-generate the
configuration of an existing domain. This is needed for a domain to be
able to reboot and retain its PCI device configuration. This patch adds
such support.
Thanks to Mike Wright for reporting this problem and working with me to
fix it.
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 15:06:55 +0000 (16:06 +0100)]
This patch enhances the Summagraphics emulation by adding 2 features:
1) Move the tablet to the second serial port. This way the tablet will
not interfere with people who want to use a serial console on the guest.
2) Enhance the Summagraphics emulation so that the Windows XP driver
works. Turns out the Windows driver was using capabilities the X driver
didn't care about and it wouldn't recognize the tablet without these
capabilities.
Signed-off-by: donald.d.dugger@intel.com
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 15:05:24 +0000 (16:05 +0100)]
Reset Cirrus device model `VRAM' whenever a VGA/SVGA mode switch occurs.
If you change the video resolution on a Windows XP guest such that it uses
fewer bytes of VRAM (either by using fewer bytes per pixel or by lowering the
resolution) then some window backgrounds will become corrupted. This happens
because the Windows XP Cirrus Logic driver assumes that VRAM is initialized
to 0xff whenever the video mode switches between VGA and SVGA.
Signed-off-by: Donald.D.Dugger@intel.com
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 15:01:34 +0000 (16:01 +0100)]
Clean up and refactor some parts of the vTPM and migration-related scripts.
In the external device migration script I am introducing a subtype
(-subtype <subtype>) from which the script's name is formed. Also all
unparsed parameters are passed to the called script.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 14:58:16 +0000 (15:58 +0100)]
Fix a couple of problems in the TPM backend driver.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 14:49:47 +0000 (15:49 +0100)]
This small patch fixes new make-dependencies of the secpol_tool
Signed-off by: Reiner Sailer <sailer@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 14:44:56 +0000 (15:44 +0100)]
Set up and tear down phys_proc_id, cpu_core_id, cpu_sibling_map
and cpu_core_map when CPUs come online and go offline.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 10 May 2006 12:27:17 +0000 (13:27 +0100)]
Fix blkif and netif backend teardown -- do not remove devices from
sysfs (and hence trigger hotplug callbacks) until the devices really
are dead. This fixes a bug where the deferred code to free a blk
device was running concurrently with a hotplug-remove callback which
would try to reclaim the underlying storage. In some cases the race
would be lost and the hotplug script would fail.
Thanks to the Zhu Han at Intel for finding the root cause of this
long-term and annoying bug!
Signed-off-by: Keir Fraser <keir@xensource.com>
cl349@firebug.cl.cam.ac.uk [Mon, 8 May 2006 18:21:41 +0000 (19:21 +0100)]
Fix PAE build: add CONFIG_I2O_EXT_ADAPTEC_DMA64=y to linux-defconfig_xen_x86_32.
From: Nakajima, Jun <jun.nakajima@intel.com>
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
cl349@firebug.cl.cam.ac.uk [Mon, 8 May 2006 16:18:19 +0000 (17:18 +0100)]
Make cscope hgignore wildcard a little bit less permissive.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
cl349@firebug.cl.cam.ac.uk [Mon, 8 May 2006 15:41:22 +0000 (16:41 +0100)]
Make Xen version numbers more flexible.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
kaf24@firebug.cl.cam.ac.uk [Mon, 8 May 2006 13:54:22 +0000 (14:54 +0100)]
Add module license to xenbus_be, otherwise the module cannot be loaded.
Signed-off-by: Jan Beulich <jbeulich@novell.com>
kaf24@firebug.cl.cam.ac.uk [Mon, 8 May 2006 13:53:09 +0000 (14:53 +0100)]
The current Xen code for VMX is setting the gp fault vmexiting in
the EXCEPTION_BITMAP vmcs control. There is no need for that as VMM is
just plainly re-injecting back to the guest. The attached is a simple
patch to set the vmcs control properly.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
cl349@firebug.cl.cam.ac.uk [Mon, 8 May 2006 09:36:13 +0000 (10:36 +0100)]
Fix code which finds the default interface if there are static routes.
The current code will break if there are multiple scope global routes
since the "ip route list default" command doesn't use "default" as a
filter, and will output multiple devices which breaks the rest of the
script.
Also make the vif/xenbr/eth naming consistent, i.e. if your default
network interface is eth1, you get vif1 and xenbr1.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
stekloff@dyn9047022152.beaverton.ibm.com [Sun, 7 May 2006 20:41:36 +0000 (21:41 +0100)]
The buildroot xm-test grabs is no longer present, this patch fixes it.
Made it a minor release bump for xm-test so old ramdisk will work. The
ramdisk is functionally the same.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
emellor@leeni.uk.xensource.com [Sun, 7 May 2006 13:00:05 +0000 (14:00 +0100)]
Fix console runaway detection for the smallmem_neg test, following the changes
to have Console included as part of the Domain object.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Sun, 7 May 2006 12:34:45 +0000 (13:34 +0100)]
Abstract block-attach and block-detach calls, and add to that the correct
polling waiting for the device to connect and disconnect.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Sat, 6 May 2006 14:42:12 +0000 (15:42 +0100)]
Move the logic to find the Xen Python scripts above the import statements.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Fri, 5 May 2006 17:36:26 +0000 (18:36 +0100)]
Merged.
emellor@leeni.uk.xensource.com [Fri, 5 May 2006 17:36:12 +0000 (18:36 +0100)]
Use the auxbin module to find the appropriate install directory for our Python
scripts.
This fixes a bug with xm-test not working on 64-bit systems.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
emellor@leeni.uk.xensource.com [Fri, 5 May 2006 15:46:48 +0000 (16:46 +0100)]
Remove ssidref field from test -- this now only works if there is a policy in
place at the time.
Signed-off-by: Ewan Mellor <ewan@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 14:15:56 +0000 (15:15 +0100)]
Add more in_irq() checking. Add irq_enter()/irq_exit() where
they are missing in a few places.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 13:09:07 +0000 (14:09 +0100)]
Instead of just having the bootloader config sxp replace anything else,
merge with given values. This will allow a bootloader to not have to
specify everything which is useful for bootloaders other than pygrub.
Signed-off-by: Jeremy Katz <katzj@redhat.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 13:05:31 +0000 (14:05 +0100)]
Fix injection of guest faults resulting from failed injection of a
previous event. We enter an infinite loop if the original failed
injection cannot be fixed up by Xen (e.g., because it's not a shadow
pagetable issue).
The RHEL4 HVM guest hang issue was actually a side effect of
change-set 9699. In the rhel4 guest hang rc.sysinit init-script was
calls kmodule program to probe the hardware. The kmodule uses the kudzu
library call probeDevices(). For probing the graphics hardware in the
vbe_get_mode_info() function, sets up the environment and goes into the
vm86 mode to do the int x10 call. For returning back to protected mode
it sets up a int 0xff call. At the time of calling the int 0xff the
guest process pages were not filled up. And it was causing an infinite
loop of vmexits with the IDT_VECTORING_INFO on the int 0xff instruction.
The reason for the infinite loop is changeset 9699. With that
the guest page fault was always getting overridden by the int 0xff gp
fault coming from the IDT_VECTORING_INFO. With the attached patch if VMM
is injecting exceptions like page faults or gp faults then
IDT_VECTORING_INFO field does not override it, and that breaks the
vmexit infinite loop for the rhel4.
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Jun Nakajima <jun.nakajima@intel.com>
Signed-off-by: Edwin Zhai <edwin.zhai@intel.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 13:01:43 +0000 (14:01 +0100)]
Fix python pciif script to reference correct 2.0 compatibility variable.
In the Xen 2.0.x compatibility section of xend (where we try to parse
the s-expressions if they came from an SXP configuration file for Xen
2.0.x), the wrong variable is referenced. This fix corrects the python
script to use the correct variable.
Thanks to Mike Wright for reporting this.
Signed-off-by: Ryan Wilson <hap9@epoch.ncsc.mil>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 12:59:17 +0000 (13:59 +0100)]
Fix dr access from or to extended registers on x86_64.
Also some cleanups.
Signed-off-by: Xin Li <xin.b.li@intel.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 12:58:13 +0000 (13:58 +0100)]
Replace a bash-specific redirection in tools/ioemu/configure with a
standard POSIX one which allows the Xen tools to be built with a POSIX
shell other than bash.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 12:57:16 +0000 (13:57 +0100)]
It's unnecessary on MOV CRn to use "q" or "l" to indicate default
oparand size.
Signed-off-by: Xin Li <xin.b.li@intel.com>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 12:51:03 +0000 (13:51 +0100)]
Replace a bash-specific substitution with equivalent POSIX /bin/sh
substitutions. This allows a Xen-patched Linux to build when /bin/sh
is a POSIX shell other than bash.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 12:49:49 +0000 (13:49 +0100)]
Adjust skb->truesize appropriately in netback driver.
When you generate non-linear skb's as netback does, it is up to you
to ensure that truesize reflects the size of paged part of the skb.
Otherwise socket memory accounting in Linux falls apart.
Thanks to the new check that David Miller added to TCP we were able
to catch this bug.
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 12:46:59 +0000 (13:46 +0100)]
Fix IA64 transparent-virtualization issue (Xen may not be running).
Signed-off-by: Tristan Gingold <tristan.gingold@bull.net>
kaf24@firebug.cl.cam.ac.uk [Fri, 5 May 2006 12:41:35 +0000 (13:41 +0100)]
Add missing spin_unlock_irq() at xen/arch/x86/irq.c
Changeset 9889:
42a8e3101c6c reorganized the code on this file, and
missed this spin_unlock_irq(). Without this patch, my machine hangs
completely during boot. With this, it works.
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Chris Wright <chrisw@sous-sol.org>
cl349@firebug.cl.cam.ac.uk [Thu, 4 May 2006 23:27:10 +0000 (00:27 +0100)]
Don't try to write to pmd pages, there is no writeable-pmd support.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
kaf24@firebug.cl.cam.ac.uk [Thu, 4 May 2006 20:24:39 +0000 (21:24 +0100)]
SVM patch for 64bit hv, to reset the ss, es, ds host selectors to NULL
during a context switch to the SVM domain's vcpu. This patch also
initializes the tlb_control to 1 for the initial do_launch().
Signed-off-by: Tom Woller <thomas.woller@amd.com>
cl349@firebug.cl.cam.ac.uk [Thu, 4 May 2006 16:44:14 +0000 (17:44 +0100)]
Linux: upgrade patches to 2.6.16.13.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
--HG--
rename : patches/linux-2.6.16/device_bind.patch => patches/linux-2.6.16.13/device_bind.patch
rename : patches/linux-2.6.16/i386-mach-io-check-nmi.patch => patches/linux-2.6.16.13/i386-mach-io-check-nmi.patch
rename : patches/linux-2.6.16/net-csum.patch => patches/linux-2.6.16.13/net-csum.patch
rename : patches/linux-2.6.16/pmd-shared.patch => patches/linux-2.6.16.13/pmd-shared.patch
rename : patches/linux-2.6.16/rename-TSS_sysenter_esp0-SYSENTER_stack_esp0.patch => patches/linux-2.6.16.13/rename-TSS_sysenter_esp0-SYSENTER_stack_esp0.patch
rename : patches/linux-2.6.16/smp-alts.patch => patches/linux-2.6.16.13/smp-alts.patch
rename : patches/linux-2.6.16/x86-increase-interrupt-vector-range.patch => patches/linux-2.6.16.13/x86-increase-interrupt-vector-range.patch
rename : patches/linux-2.6.16/xenoprof-generic.patch => patches/linux-2.6.16.13/xenoprof-generic.patch
cl349@firebug.cl.cam.ac.uk [Thu, 4 May 2006 16:38:25 +0000 (17:38 +0100)]
Linux: upgrade to 2.6.16.13.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
cl349@firebug.cl.cam.ac.uk [Thu, 4 May 2006 15:49:58 +0000 (16:49 +0100)]
Remove unused LINUX_SRCS.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
stekloff@dyn9047022152.beaverton.ibm.com [Thu, 4 May 2006 13:22:38 +0000 (14:22 +0100)]
Add a HOWTO to help writing tests, includes domains with networking.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
stekloff@dyn9047022152.beaverton.ibm.com [Thu, 4 May 2006 13:22:29 +0000 (14:22 +0100)]
Add new networking infrastructure to Xm-Test. The goal is to make
creating domains with networking very easy. This patch:
1) Adds new XenDevice class, with the XenNetDevice subclass. These
classes represent devices for xm-test and are tied to XenDomains.
This can eventually be used for block devices as well. Currently,
devices must be added to domains prior to starting the domain. The
attach and detach needs to be handled.
2) Adds a new NetConfig class to handle configuring the network
environment in which the tests run. This patch only handles ranges
of IPs in a bridged environment. DHCP needs to be added as well as
handling NAT and routed environments.
3) Modifies XenDomain class to handle XenDevices.
4) Adds new configuration options for defining a range of IPs, their
network address, and their netmask.
5) Removes the old Network.py and Network class.
6) Modifies the existing tests to use the new infrastructure.
7) Adds some documentation to help creating domains.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
emellor@leeni.uk.xensource.com [Thu, 4 May 2006 13:22:17 +0000 (14:22 +0100)]
Second step toward a new network infrastructure, move XmConsole to be
in XenDomain. The devices we will add, like network, will need to run
console commands when a domain is started. So I have made console be
a part of domain object, which it's tied to anyway.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
stekloff@dyn9047022152.beaverton.ibm.com [Thu, 4 May 2006 13:20:11 +0000 (14:20 +0100)]
First step to network infrastructure, add a type to XenDomain to identify
it as HVM or PV rather than using the config time option. The forthcoming
XenNetDevice will need to check. This is also the first step toward running
PV and HVM domains at the same time.
Signed-off-by: Daniel Stekloff <dsteklof@us.ibm.com>
emellor@leeni.uk.xensource.com [Thu, 4 May 2006 13:19:19 +0000 (14:19 +0100)]
Merged.
kaf24@firebug.cl.cam.ac.uk [Thu, 4 May 2006 10:24:19 +0000 (11:24 +0100)]
Change Mini-OS so that it uses stddef.h to define size_t and
NULL. This problem fixes errors that occur when linking Mini-OS with
ANSI standard code that uses stddef.h.
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 4 May 2006 10:22:19 +0000 (11:22 +0100)]
This patch
- moves the TPM frontend completely into the char/tpm directory where it
is a plug-in to the generic TPM driver
- removes a now obsolete include file
- adapts part of the documentation
- fixes some locking problems where copy_to/from_user was called with
IRQs blocked
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 4 May 2006 10:19:27 +0000 (11:19 +0100)]
Fix fault handler for both 32 and 64 bit architecture. Clean up unused code.
Signed-off-by: Grzegorz Milos <gm281@cam.ac.uk>
Signed-off-by: Aravindh Puthiyaparambil
<aravindh.puthiyaparambil@unisys.com>
kaf24@firebug.cl.cam.ac.uk [Thu, 4 May 2006 10:14:45 +0000 (11:14 +0100)]
SVM patch to cleanup the host save area allocation and deallocation,
including removing memory leaks concerning these areas. Also fixes
problem where the HSA MSR was not initialized properly for cores>0.
Signed-off-by: Tom Woller <thomas.woller@amd.com>
cl349@firebug.cl.cam.ac.uk [Thu, 4 May 2006 09:25:27 +0000 (10:25 +0100)]
Fix xenbus userspace device transaction tracking.
If a transaction end command fails, the semaphore which keeps track
of whether we're in a transaction or not was not getting updated.
Signed-off-by: Christian Limpach <Christian.Limpach@cl.cam.ac.uk>
kaf24@firebug.cl.cam.ac.uk [Wed, 3 May 2006 12:33:01 +0000 (13:33 +0100)]
Fix mismerge of vmx vm86 patch: 9915:
e1409c2ace46afd67b54de1f5c0b2b6d3721ca3b
Signed-off-by: Keir Fraser <keir@xensource.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 3 May 2006 10:02:30 +0000 (11:02 +0100)]
Instead of knowing explicitly about the pygrub entry option, allow
passing arbitrary options to the bootloader and deprecate the bootentry
option.
Signed-off-by: Jeremy Katz <katzj@redhat.com>
kaf24@firebug.cl.cam.ac.uk [Wed, 3 May 2006 10:00:57 +0000 (11:00 +0100)]
Introduce some finer-grained locking to prevent calling
copy_from/to_user while preventing interrupts and fix allocation of
memory from within a task and other issues.
Signed-off-by: Stefan Berger <stefanb@us.ibm.com>